package bastanteo.cloud.bean;

// Generated 08/11/2011 11:03:59 PM by Hibernate Tools 3.3.0.GA

import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.JoinColumns;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

/**
 * Representante generated by hbm2java
 */

@Entity
@Table(name = "representante", catalog = "bd_bastanteo")
public class Representante implements java.io.Serializable {

	private RepresentanteId id;
	private TipoDocId tipoDocId;
	private Empresa empresa;
	private GrupoBastanteo grupoBastanteo;
	private String apePaterno;
	private String apeMaterno;
	private String nombre;
	private String numDocId;
	private String cargoEmpresa;

	public Representante() {
	}

	public Representante(RepresentanteId id, TipoDocId tipoDocId,
			Empresa empresa, GrupoBastanteo grupoBastanteo, String apePaterno,
			String apeMaterno, String nombre, String numDocId,
			String cargoEmpresa) {
		this.id = id;
		this.tipoDocId = tipoDocId;
		this.empresa = empresa;
		this.grupoBastanteo = grupoBastanteo;
		this.apePaterno = apePaterno;
		this.apeMaterno = apeMaterno;
		this.nombre = nombre;
		this.numDocId = numDocId;
		this.cargoEmpresa = cargoEmpresa;
	}

	@EmbeddedId
	@AttributeOverrides( {
			@AttributeOverride(name = "CEmpresa", column = @Column(name = "C_EMPRESA", nullable = false, length = 8)),
			@AttributeOverride(name = "CRepresentante", column = @Column(name = "C_REPRESENTANTE", nullable = false)) })
	public RepresentanteId getId() {
		return this.id;
	}

	public void setId(RepresentanteId id) {
		this.id = id;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "C_TIPO_DOC_ID", nullable = false)
	public TipoDocId getTipoDocId() {
		return this.tipoDocId;
	}

	public void setTipoDocId(TipoDocId tipoDocId) {
		this.tipoDocId = tipoDocId;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "C_EMPRESA", nullable = false, insertable = false, updatable = false)
	public Empresa getEmpresa() {
		return this.empresa;
	}

	public void setEmpresa(Empresa empresa) {
		this.empresa = empresa;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumns( {
			@JoinColumn(name = "C_EMPRESA_FK", referencedColumnName = "C_EMPRESA", nullable = false),
			@JoinColumn(name = "C_GRUPO_BASTANTEO_FK", referencedColumnName = "C_GRUPO_BASTANTEO", nullable = false) })
	public GrupoBastanteo getGrupoBastanteo() {
		return this.grupoBastanteo;
	}

	public void setGrupoBastanteo(GrupoBastanteo grupoBastanteo) {
		this.grupoBastanteo = grupoBastanteo;
	}

	@Column(name = "APE_PATERNO", nullable = false, length = 20)
	public String getApePaterno() {
		return this.apePaterno;
	}

	public void setApePaterno(String apePaterno) {
		this.apePaterno = apePaterno;
	}

	@Column(name = "APE_MATERNO", nullable = false, length = 20)
	public String getApeMaterno() {
		return this.apeMaterno;
	}

	public void setApeMaterno(String apeMaterno) {
		this.apeMaterno = apeMaterno;
	}

	@Column(name = "NOMBRE", nullable = false, length = 40)
	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	@Column(name = "NUM_DOC_ID", nullable = false, length = 15)
	public String getNumDocId() {
		return this.numDocId;
	}

	public void setNumDocId(String numDocId) {
		this.numDocId = numDocId;
	}

	@Column(name = "CARGO_EMPRESA", nullable = false, length = 50)
	public String getCargoEmpresa() {
		return this.cargoEmpresa;
	}

	public void setCargoEmpresa(String cargoEmpresa) {
		this.cargoEmpresa = cargoEmpresa;
	}

}
